package com.xinli.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xinli.common.annotation.Excel;
import com.xinli.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.omg.PortableInterceptor.INACTIVE;

/**
 * 帖子对象 lf_post
 *
 * @author ruoyi
 * @date 2025-03-26
 */
@Data
@TableName(value = "lf_post")
@EqualsAndHashCode(callSuper = true)
public class LfPost extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * "用户id"
     */
    @Excel(name = "用户id")
    private Long uid;

    /**
     * "圈子id"
     */
    @Excel(name = "圈子id")
    private Long topicId;

    /**
     * "话题id"
     */
    @Excel(name = "话题id")
    private Long discussId;

    /**
     * "投票id"
     */
    @Excel(name = "投票id")
    private Long voteId;

    /**
     * "标题"
     */
    @Excel(name = "标题")
    private String title;

    /**
     * "内容"
     */
    @Excel(name = "内容")
    private String content;

    /**
     * "文件"
     */
    @Excel(name = "文件")
    private String media;

    /**
     * "浏览量"
     */
    @Excel(name = "浏览量")
    private Long readCount;

    /**
     * "置顶"
     */
    @Excel(name = "置顶")
    private Long postTop;

    /**
     * "帖子类型：1官方帖子2用户帖子"
     */
    @Excel(name = "帖子类型：1官方帖子2用户帖子")
    private Long type;

    /**
     * "地址名称,活动帖子时填写"
     */
    @Excel(name = "地址名称,活动帖子时填写")
    private String address;

    /**
     * "经度"
     */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /**
     * "纬度"
     */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /**
     * "状态0正常1审核"
     */
    @Excel(name = "状态0正常1审核")
    private Long status;

    /**
     * "cut 使用这个字段 0 普通贴  1 活动帖子 2匿名帖子"
     */
    @Excel(name = "0 普通贴  1 活动帖子 2匿名帖子")
    private Long cut;

    /**
     * "付费贴价格"
     */
    @Excel(name = "付费贴价格")
    private BigDecimal pay;

    /**
     * "付费简介"
     */
    @Excel(name = "付费简介")
    private String brief;

    /**
     * "关联私密圈:0公开1私密"
     */
    @Excel(name = "关联私密圈:0公开1私密")
    private Long isPrivate;

    /**
     * "外部信息"
     */
    @Excel(name = "外部信息")
    private String outsideInfo;

    /**
     * "${comment}"
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String className;

    /**
     * "${comment}"
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date showTime;

    /**
     * "${comment}"
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String appendText;

    /**
     * "活动帖子时填写"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动帖子时填写", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * "活动帖子时填写"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动帖子时填写", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * "实习方式活动帖子时填写"
     */
    @Excel(name = "实习方式活动帖子时填写")
    private String practice;

    /**
     * "教学形式活动帖子时填写"
     */
    @Excel(name = "教学形式活动帖子时填写")
    private String teach;

    /**
     * "价格活动帖子时填写"
     */
    @Excel(name = "价格活动帖子时填写")
    private String price;

    /**
     * "发布帖子时上传的文件类型"
     */
    @Excel(name = "发布帖子时上传的文件类型")
    private Long fileType;

    /**
     * "设置精选时间"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "设置精选时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date choiceTime;

    /**
     * "${comment}"
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String videoId;

    /**
     * "${comment}"
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String videoResPath;

    /**
     * "${comment}"
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long videoDuration;

    /**
     * "${comment}"
     */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String videoName;


    /**
     * 圈子IdStr
     */
    @TableField(exist = false)
    private  List<Long> topicIdArray;



    /**
     * 评论数量
     */
    @TableField(exist = false)
    private Long plCount;



    /**
     * "关注数量"
     */
    @Excel(name = "关注数量")
    private Long followCount;


    /**
     * "是否关注  true  false"
     */
    @Excel(name = "是否关注")
    private Boolean isFollow;


    @TableField(exist = false)
    private List<LfComment> replyList;


    /**
     * "排序方式"
     */
    @TableField(exist = false)
    private String orderType;


    /**
     * "圈子名称"
     */
    @TableField(exist = false)
    private String topicName;



    /**
     * "咨询师回复过的"
     */
    @TableField(exist = false)
    private String zxsId;

    /**
     * "用户名称"
     */
    @TableField(exist = false)
    private String username;

    /**
     * "用户头像"
     */
    @TableField(exist = false)
    private String  useravatar;


    /**
     * "相似问题 需要排除的Id"
     */
    @TableField(exist = false)
    private String  expostId;












}
